9536. Сумма
матриц
Заданы две матрицы A и B.
Найдите их сумму C = A + B.
Вход. Первая строка содержит размеры
матриц n и m (1 ≤ n, m ≤ 100).
Следующие n строк содержат по m целых чисел и описывают
матрицу A. Далее следует пустая строка, после чего в таком же формате
задается матрица B.
Выход. Выведите матрицу С: n строк
по m целых чисел.
Пример
входа |
Пример
выхода |
3 4 3 4 5 6 1 2 3 4 7 6 5 4 0 0 -3 -2 -1 3 4 5 5 6 1 2 |
3 4 2 4 0 5 7 9 12 12 6 6 |
алгебра
По
заданным матрицам А и В находим их сумму в матрице С, где
Сij = Aij + Bij
Объявим матрицы a, b и c.
#define MAX 101
int a[MAX][MAX], b[MAX][MAX], c[MAX][MAX];
Читаем входные данные – матрицы А и В.
scanf("%d %d", &n, &m);
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
scanf("%d", &a[i][j]);
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
scanf("%d", &b[i][j]);
Вычисляем сумму матриц C = A + B.
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
c[i][j] = a[i][j] + b[i][j];
Выводим результирующую матрицу.
for (i = 0; i < n; i++)
{
for (j = 0; j < m;
j++)
printf("%d ", c[i][j]);
printf("\n");
}
#include <stdio.h>
int i, j, n, m;
int** a, ** b, ** c;
void Read(int**& matr, int n, int m)
{
matr = new int* [n];
for (i
= 0; i < n; i++)
{
matr[i] = new int[m];
for (j
= 0; j < m; j++)
scanf("%d", &matr[i][j]);
}
}
void Sum(int** a, int**
b, int**& c, int n, int m)
{
c = new int* [n];
for (i
= 0; i < n; i++)
{
c[i] = new int[m];
for (j
= 0; j < m; j++)
c[i][j] = a[i][j] + b[i][j];
}
}
void Print(int** a)
{
for (i
= 0; i < n; i++)
{
for (j
= 0; j < m; j++)
printf("%d ", a[i][j]);
printf("\n");
}
}
int main(void)
{
scanf("%d %d", &n, &m);
Read(a, n, m);
Read(b, n, m);
Sum(a, b, c, n, m);
Print(c);
return 0;
}